package com.booktrading.mapper;

import com.booktrading.model.Review;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface ReviewMapper {
    
    // 新增评价
    int insert(Review review);
    
    // 根据ID查询评价
    Review selectById(Long id);
    
    // 根据订单ID查询评价
    Review selectByOrderId(Long orderId);
    
    // 根据买家ID查询评价
    List<Review> selectByBuyerId(Long buyerId);
    
    // 根据卖家ID查询评价
    List<Review> selectBySellerId(Long sellerId);
    
    // 根据书籍ID查询评价
    List<Review> selectByBookId(Long bookId);
    
    // 更新评价内容
    int updateById(Review review);
    
    // 删除评价
    int deleteById(Long id);
    
    // 查询卖家的平均评分
    Double selectAverageRatingBySellerId(Long sellerId);
    
    // 查询特定评分的评价数量
    int countBySellerIdAndRating(@Param("sellerId") Long sellerId, @Param("rating") Integer rating);
    
    // 查询所有评价
    List<Review> selectAll();
} 